/*
 * Channel.h
 *
 *  Created on: Nov 4, 2012
 *      Author: work
 */

#ifndef CHANNEL_H_
#define CHANNEL_H_

#include <vector>
#include <unordered_map>

#include "base/Types.h"

namespace zeus
{

struct Channel
{

	int32 _fd;

	bool _epoll_add;
	bool _epoll_read;
	bool _epoll_write;

public:
	Channel(int32 fd = 0);

	virtual ~Channel();

public:

	void set_fd(int32 fd);

	int32 get_fd()const;
};

typedef unordered_map<int32,Channel> Channels;

} /* namespace zeus */
#endif /* CHANNEL_H_ */
